package com.study.goal.service;

import com.study.goal.domain.PlanExecutionLog;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

public interface IPlanExecutionLogService {

    /**
     * 学生开始打卡
     * @param studentId
     * @param planOccurrenceId
     * @param remark
     */
    Boolean startCheckIn(Long studentId, Long planOccurrenceId, String remark);

    /**
     * 学生完成打卡
     * @param studentId
     * @param planOccurrenceId
     * @param remark
     * @param evidenceUrl
     */
    Boolean completeCheckIn(Long studentId, Long planOccurrenceId, String remark, String evidenceUrl);


    /**
     * 获取学生某天任务
     * @param studentId
     * @param date
     * @return
     */
    List<PlanExecutionLog> getTodayTasks(Long studentId, LocalDate date);

    /**
     * 获取学生任务统计
     * @param goalAssignmentId
     * @param studentId
     * @return
     */
    Map<String, Object> getExecutionStats(Long goalAssignmentId, Long studentId);
}
